import Cocoa

// 值类型和引用类型
struct LayoutItem {
  // 索引
  var index: ItemIndex
  // frame
  var frame: CGRect
}

/// 索引
struct ItemIndex {
//    var totalColumn: Int
  // 所在列
//    var column: Int
  // 所在行
  var row: Int
  var isLastRow: Bool = false
  var isLastColumn: Bool = false
}

var items: [LayoutItem] = [
  LayoutItem(index: ItemIndex(row: 0), frame: .zero),
  LayoutItem(index: ItemIndex(row: 0), frame: .zero),
]
//方法错误 ItemIndex值类型,{}中item是item的副本,修改副本并不会影响到原item
for var item in items {
  item.index.isLastRow = true
//	print("---",item.index.isLastRow)
}
//✅如下方法都行
//一.
for (i,var item) in items.enumerated() {
	items[i].index.isLastRow = true
//	item.index.isLastRow = true ❎ 副本
}

//二.
for i in items.indices {
	items[i].index.isLastRow = true
}

//验证
for item in items {
	print("---",item.index.isLastRow)
}
